/**
 * fs核心模块读写文件
 */

let fs = require("fs");
fs.readFile("./1.txt", function (err, data) {
  if (err) {
    console.log(err);
  } else {
    console.log(data.toString());
  }
});
fs.writeFile(
  "./2.txt",
  "data",
  { encoding: "utf-8", flag: "w", mode: 0o666 },
  function (err) {
    console.log(err);
  }
);
// 读写执行 mode 权限设置

fs.appendFile("./2.txt", "data4", function (err) {
  console.log(err);
});
// 字符串通过编码转成不同的二进制
// 文件当成一个整体来操作 文件大时，内存无法操作
process.stdin.on('data', function (data) {
  console.log(data);
})
process.stdout.write('woowofs')
fs.open("./1.txt", "r", 0o666, function (err, fd) {
  console.log('fd', fd);
  let buff = Buffer.alloc(3)
  //写入位置 字节 读取开始位置 
  fs.read(fd, buff, 0, 3, 1, function (err, bytesRead) {
    console.log(buff.toString());
  })
});
// w r+ r ...
fs.open('./2.txt', 'w', 0o666, function (err, fd) {
  console.log('f2', fd);
  console.log(err);
  fs.write(fd, Buffer.from('珠峰'), 3, 3, 0, function (err, bytesWritten) {
    console.log(bytesWritten);
    console.log(err);
  })
})
/**
 * 文件系统交互api
 * 同步和异步形式
 * 文件編碼 iconv 转码支持gbk iconv-lite
 * 
 */
